package com.ljy.my_study.lintcode.两个排序数组中位数;

import java.util.Arrays;

/** 
* @author James
* @date 2018年5月23日 
*/
public class Solution {
	public static void main(String[] args) {
		int[] nums1= {1};
		int[] nums2= {1,3};
		System.out.println(findMedianSortedArrays(nums1,nums2));
	}
	
	public static double findMedianSortedArrays(int[] nums1, int[] nums2) {
        int len=nums1.length+nums2.length;
        if(len<=0){
            return 0.0;
        }
        int[] all=new int[len];
        int nums1Index=0;
        int nums2Index=0;
        for(int i=0;i<len;i++) {
        	if(nums1Index>=nums1.length&&nums2Index>=nums2.length) {
        		break;
        	}
        	if(nums1Index>=nums1.length) {
        		all[i]=nums2[nums2Index];
        		nums2Index++;
        		continue;
        	}
        	if(nums2Index>=nums2.length) {
        		all[i]=nums1[nums1Index];
        		nums1Index++;
        		continue;
        	}
        	if(nums1[nums1Index]>nums2[nums2Index]) {
        		all[i]=nums2[nums2Index];
        		nums2Index++;
        	}else {
        		all[i]=nums1[nums1Index];
        		nums1Index++;
        	}
        }
        System.out.println(Arrays.toString(all));
        System.out.println("-------------------------");
        double d=0;
        if(len==1) {
        	d=all[0];
        }else if(len%2!=0) {
        	d=all[len/2];
        }else {
        	d=((double)(all[len/2-1]+all[len/2]))/2;
        }
        return d;
    }
}
